package com.UnionPayCenter.distribution.service;

import com.UnionPayCenter.distribution.dto.DistributionBaseDTO;
import com.UnionPayCenter.distribution.dto.DistributionShareDTO;
import com.UnionPayCenter.distribution.dto.DistributionSharePropModifyDTO;
import com.UnionPayCenter.distribution.dto.SharePropModifyDTO;

import java.util.List;

/**
 * @author Noah
 * @since 1.0.0, 2019/07/01
 */
public interface DistributionOperatorService {

    /**
     * 分销商户模板创建
     *
     * @param baseDTO 商户信息
     */
    void distributionInitTemplate(DistributionBaseDTO baseDTO);


    /**
     * 初始化分享用户信息
     *
     * @param baseDTO            店铺
     * @param userId             分销人（邀请人）ID
     * @param counterpartyUserId 被分销人(被邀请人)ID
     */
    void distributionInitUser(DistributionBaseDTO baseDTO, Long userId, Long counterpartyUserId);


    /**
     * 更新分销模板状态
     *
     * @param baseDTO 基本信息
     * @param flag    标准
     */
    //void updateDistributionTemplateFlag(DistributionBaseDTO baseDTO, String flag);


    /**
     * 修改分润比例
     *
     * @param modifyDTOList 修改内容
     */
    void updateShareProp(List<SharePropModifyDTO> modifyDTOList);

    /**
     * 更新模板信息
     *
     * @param propModifyDTO
     */
    void updateDistributionTemplate(DistributionSharePropModifyDTO propModifyDTO);
    /**
     * 分销
     *
     * @param shareDTO 分销信息
     */
    void distributionShare(DistributionShareDTO shareDTO);

    /**
     * 首次上线初始化
     */
    void firstInit();
}
